import axios from "axios";
import nprogress from "nprogress";
import 'nprogress/nprogress.css'
import { getToken, removeToken, removeUser } from '../utils/storageUtils'

// 添加请求拦截器
axios.interceptors.request.use(config=>{
    config.baseURL='/api'
    config.headers.token=getToken()
    //现实进度条
    nprogress.start()
    return config//必须要return
})
//添加响应拦截器
axios.interceptors.response.use(res=>{
    // 结束进度条
    nprogress.done()
    return res.data
},error=>{
    // 结束进度条
    nprogress.done()
   // 得到错误的响应状态码
   const status = error.response.status
     // 如果是401, 说明token已过期
     if(status === 401){
        // 清除保存的用户信息和token
        removeToken()
        removeUser()
        // 跳转到登陆页面  - 未获得token时，一律跳转到登录页
        window.location='/login.html'
     }else{
        // 其它错误, 提示一下错误信息
        alert(error.message)
     }
     throw error
})


export default axios